From 5560677aa7809ab424654a40e32a9fa012a07e36 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 31 Oct 2008 18:20:07 +0000 Subject: [PATCH] =?utf8?q?Bug=20558323=20=E2=80=93=20glitches=20when=20pop?= =?utf8?q?ping=20up=20combos=20in=20treeviews?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_set_property): Don't set the model property on the combo box, since that leads to loops. svn path=/trunk/; revision=21740 --- ChangeLog | 8 ++++++++ gtk/gtkcellrenderercombo.c | 27 +++++++-------------------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/ChangeLog b/ChangeLog index a04b34074b..8a297aeed7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-10-31 Matthias Clasen + + Bug 558323 – glitches when popping up combos in treeviews + + * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_set_property): + Don't set the model property on the combo box, since that leads + to loops. + 2008-10-31 Christian Dywan Bug 347230 – testicontheme shortcomings diff --git a/gtk/gtkcellrenderercombo.c b/gtk/gtkcellrenderercombo.c index 9fc93c8f61..941e9713bb 100644 --- a/gtk/gtkcellrenderercombo.c +++ b/gtk/gtkcellrenderercombo.c @@ -268,30 +268,16 @@ gtk_cell_renderer_combo_set_property (GObject *object, { case PROP_MODEL: { - GObject *object; GtkCellRendererComboPrivate *priv; priv = GTK_CELL_RENDERER_COMBO_GET_PRIVATE (cell); - if (cell->model) - { - if (priv->combo) - gtk_combo_box_set_model (GTK_COMBO_BOX (priv->combo), NULL); - g_object_unref (cell->model); - cell->model = NULL; - } - - object = g_value_get_object (value); - if (object) - { - g_return_if_fail (GTK_IS_TREE_MODEL (object)); - g_object_ref (object); - - cell->model = GTK_TREE_MODEL (object); - if (priv->combo) - gtk_combo_box_set_model (GTK_COMBO_BOX (priv->combo), cell->model); - } - break; + if (cell->model) + g_object_unref (cell->model); + cell->model = GTK_TREE_MODEL (g_value_get_object (value)); + if (cell->model) + g_object_ref (cell->model); + break; } case PROP_TEXT_COLUMN: cell->text_column = g_value_get_int (value); @@ -337,6 +323,7 @@ gtk_cell_renderer_combo_editing_done (GtkCellEditable *combo, gboolean canceled; GtkCellRendererComboPrivate *priv; + g_print ("combo cell editing done\n"); cell = GTK_CELL_RENDERER_COMBO (data); priv = GTK_CELL_RENDERER_COMBO_GET_PRIVATE (data); -- 2.30.2